From: Dan Winship Date: Wed, 6 Apr 2011 14:40:01 +0000 (-0400) Subject: environment: improve Object.toString for delegate objects X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~8316 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=07a0960265e4bbb1222f386bf07343331bb77129;p=gnome-shell.git environment: improve Object.toString for delegate objects If a JS object has an 'actor' property pointing to a ClutterActor, include the actor's toString() output in the delegate's toString() output. Eg: js>>> Main.panel [object Object delegate for 0xff6080 StBoxLayout.menu-bar "panel" ("Activities")] https://bugzilla.gnome.org/show_bug.cgi?id=646919 --- diff --git a/js/ui/environment.js b/js/ui/environment.js index 9061a7723..758a2cbfb 100644 --- a/js/ui/environment.js +++ b/js/ui/environment.js @@ -88,6 +88,15 @@ function init() { return St.describe_actor(this); }; + let origToString = Object.prototype.toString; + Object.prototype.toString = function() { + let base = origToString.call(this); + if ('actor' in this && this.actor instanceof Clutter.Actor) + return base.replace(/\]$/, ' delegate for ' + this.actor.toString().substring(1)); + else + return base; + }; + if (window.global === undefined) // test environment return;